An enterprise services network is an open architecture incorporating services oriented architecture principles and web services technologies applied to enterprise business applications. Web services, and enterprise services networks, employ open standards, such as Extensible Markup Language (XML), Web Services Description Language (WSDL), HypterText Transfer Protocol (HTTP), Secure HypterText Transfer Protocol (S-HTTP or HTTPS), Simple Object Access Protocol (SOAP), Universal Description, Discovery and Integration (UDDI), Business Process Modeling Language (BPML), Business Process Execution Language (BPEL), and others, to allow for system integration independent of technical architecture and interoperability between even disparate platforms. Enterprise services allow IT organizations to develop applications, that is, applications that combine functionality and information from various, existing, application systems to support new business processes or scenarios. Web services that provide the functionality of one application system are also called “application services.”
Many enterprise services networks are non-heterogeneous, that is, they include several different customer and vendor platforms. For example, an enterprise services network may include SAP systems, such as SAP's NetWeaver™, SAP's development and integration platform running Advanced Business Application Programming (ABAP), SAP's application programming language, or an Internet Transaction Server (ITS), and non-SAP systems, such as a platform running Java 2 Platform Enterprise Edition™ (J2EE), such as IBM's WebSphere. An ITS is an interface that enables efficient communication between an SAP R/3 system of applications and the Internet, enabling user access to Internet application components, which are Web-enabled business applications for the R/3 system. J2EE is the standard platform, developed collaboratively by Sun Microsystems and other software vendors, for developing multi-tier enterprise applications based on the Java programming language.
On non-heterogeneous networks, each system normally has its own user interface, where each user interface has multiple software modules that are used during runtime reused to reduce the cost of development and/or to avoid writing new software. Moreover, on non-heterogeneous networks, it can be difficult to debug errors that occur during running of an application, particularly an application on a non-SAP system.
For example, in an SAP environment, an ABAP application can invoke a SAP Graphical User Interface (GUI) to the currently running external system. After a request is sent to the SAP GUI, the developer enters user input that is transmitted back to the ABAP application. Once the SAP GUI is started, a developer can activate the ABAP Debugger programming tool to debug the external system by, for example, displaying data objects and checking the flow logic of programs.
However, difficulties arise when a developer is located at a computer other than the one where the external application to be debugged is running. First, SAP GUI uses a RFC (Remote Function Call) protocol, which is the SAP ABAP programming language implementation similar to the remote procedure call (RPC) over TCP/IP protocol. Using conventional methods, a SAP GUI can only be invoked from a remote server on the computer where the RFC client is running and not on any other computer in the enterprise service network. Furthermore, debugging of external connections using HTTP/HTTPS or WebServices as a communication protocol is not possible at all.